package com.yxhl.zoume.di.component.car;

import com.yxhl.zoume.core.specialcar.activity.SpecialCarScheduleActivity;
import com.yxhl.zoume.core.car.fragment.common.CarLocationMapFragment;
import com.yxhl.zoume.core.car.fragment.common.CarPOISearchFragment;
import com.yxhl.zoume.core.officialcar.fragment.OfficialCarLocationMapFragment;
import com.yxhl.zoume.core.officialcar.fragment.OfficialCarPOISearchFragment;
import com.yxhl.zoume.core.officialcar.fragment.SingleWayOfficialCarFragment;
import com.yxhl.zoume.core.specialcar.fragment.SpecialCarHomeFragment;
import com.yxhl.zoume.core.specialcar.fragment.SpecialCarLocationMapFragment;
import com.yxhl.zoume.core.specialcar.fragment.SpecialCarPOISearchFragment;
import com.yxhl.zoume.core.specialcar.fragment.SpecialCarScheduleMapFragment;
import com.yxhl.zoume.core.func.map.ui.fragment.LocationMapFragment;
import com.yxhl.zoume.core.func.map.ui.fragment.POISearchFragment;
import com.yxhl.zoume.di.component.base.ActivityComponent;
import com.yxhl.zoume.di.component.base.AppComponent;
import com.yxhl.zoume.di.module.ActivityModule;
import com.yxhl.zoume.di.module.car.SpecialCarModule;
import com.yxhl.zoume.di.scope.PerActivity;

import dagger.Component;

/**
 * Created by sugarya on 16/4/18.
 */
@PerActivity
@Component(dependencies = AppComponent.class, modules = {SpecialCarModule.class, ActivityModule.class})
public interface SpecialCarComponent extends ActivityComponent {

    /**
     * 专车首页
     *
     * @param fragment
     */
    void inject(SpecialCarHomeFragment fragment);

    void inject(POISearchFragment fragment);

    void inject(LocationMapFragment fragment);

    void inject(SpecialCarScheduleMapFragment fragment);

    void inject(SpecialCarScheduleActivity activity);

    void inject(CarLocationMapFragment fragment);

    void inject(CarPOISearchFragment fragment);

    void inject(SingleWayOfficialCarFragment fragment);

    void inject(OfficialCarLocationMapFragment fragment);

    void inject(OfficialCarPOISearchFragment fragment);

    /**
     * 专车选择出发地,到达地
     *
     * @param fragment
     */
    void inject(SpecialCarLocationMapFragment fragment);

    /**
     * 专车搜索页面
     *
     * @param fragment
     */
    void inject(SpecialCarPOISearchFragment fragment);
}
